Telecommunication networks often include functionality for devices to exchange information regarding the capabilities of devices on the network. For example, one known method uses a proxy server that provides a central repository for such information. Another method is for a first device to query another device and request such information. However, prior art implementations have suffered from excessive overhead (e.g., computational overhead, network traffic overhead, etc.), reliability of data (e.g., stale data), and/or security concerns.
For example, a proxy server managing device information must receive the information from devices at regular intervals and provide updates to subscribing devices. However, the exchange of information adds significant overhead to the network in terms of signaling and network traffic, and often the data at the proxy server is outdated or does not accurately reflect capabilities of devices. With respect to querying devices directly to request capability information (e.g., using a SIP OPTIONS command), prior art methods can present security concerns by allowing devices access to information from remote devices without the remote device giving permission or being aware of such data query. Further, querying methods often do not provide a complete view of the capabilities of a device.
Without accurate capability information for devices, communications between devices can be suboptimal. For example, a first device can attempt to initiate a video communication with a second device, while the second device may not be capable of facilitating the video communication, in which case, a request from the first device can be refused. In another example in which a video communication can be a preferred communication type, a first device can attempt to initiate a voice communication with a third device, without knowing that the third device is capable of facilitating a video communication. Thus, in both examples, a lack of capability information can lead to suboptimal outcomes.